package com.lfs.adapter.base;

import com.lfs.interfaces.dto.ResultReturn;
import com.lfs.interfaces.model.ChannelSupplier;
import com.lfs.interfaces.model.GameBaseResponse;
import com.lfs.interfaces.model.dto.OrderDto;
import com.lfs.interfaces.model.vo.ChargeVo;

import java.math.BigDecimal;

public interface LfsGameAdapter {

	/**
	 * 发单
	 * 
	 * @param rec
	 * @param config
	 * @return
	 */
	public ResultReturn<ChargeVo> makeOrder(OrderDto rec, ChannelSupplier config);

	/**
	 * 查询单条订单状态 失败返回null
	 * 有些接口查询返回一个list
	 * @param rec
	 * @param config
	 * @return
	 */
	public GameBaseResponse queryOrder(OrderDto rec, ChannelSupplier config);

	/**
	 * 查询余额
	 * 
	 * @return
	 */
	public abstract BigDecimal queryBalance(ChannelSupplier config);

	/**
	 * 回调处理
	 * 部分接口回调是list结合
	 * 
	 * @return
	 */
	public String handleCallback(String orderNo, String status, String upOrderNo);

}
